function SelectionSort(arr) {
  if(arr == null || arr.length < 0) {
      return [];
  }
  for(var i = 0; i < arr.length - 1; i++) {
      var minIndex = i;
      for(var j = i + 1; j < arr.length; j++) {
          minIndex = arr[j] < arr[minIndex] ? j : minIndex;
      }
      swap(arr, i, minIndex);
  }
  return arr;
}

function swap(arr, i, j) {
  arr[i] = arr[i] ^ arr[j];
  arr[j] = arr[i] ^ arr[j];
  arr[i] = arr[i] ^ arr[j];
}